This invention relates to systems and methods for registering devices at remote sites, and more particularly, this invention relates to systems and methods for automatically registering devices at remote sites. The remote sites may be accessed by a user to control the registered devices.
Much of today""s technology involves the use of equipment that is controlled from a remote location. Typically, before such equipment can be used, the equipment must first be registered at a remote location.
For example, cellular phones must be registered with a cellular phone service provider before being used. Users may purchase cellular phones from stores, but unless the phones are activated by the cellular service provider, they are useless. The activation involves the user or a retailer providing particular information about the user and his or her cellular phone to a cellular service provider. Users typically register cellular phones by calling the service provider and providing registration information using a separate telephone or by submitting to the service provider electronic forms (e.g., using a modem-to-modem connection). In either case, the probability for error is high given the human interaction involved. Furthermore, much time must be expended in these procedures.
It is therefore an object of the present invention to provide improved systems and methods for remotely registering devices.
This and other objects of the invention are accomplished in accordance with the principles of the present invention by providing an automatic registration system having monitoring modules that communicate with remote sites. Devices at one or more locations may interface with the monitoring modules. One or more monitoring modules and their associated interfaced devices may be referred to herein as xe2x80x9cinstallations.xe2x80x9d Devices may include, for example, video cameras, still cameras, motion sensors, audible detectors, any suitable household appliances, or any other suitable device. Monitoring modules may be stand-alone devices, software applications, any suitable combination of software and hardware, or any other suitable architecture. Monitoring modules may communicate with one or more remote sites via a suitable communications network using any suitable communications protocol. The monitoring modules and remote sites may use a registration protocol to transmit registration information. The registration information may get stored in a database at the remote site. The registration protocol may be a subset of the communications protocol used between the monitoring modules and the remote sites.
An installation, any of its components, or both may be associated with a particular user account. The account holder may be any suitable entity, such as, for example, a person, a corporate entity, a family, a governmental entity, any suitable organization, or any other suitable entity capable of maintaining an account.
Association of an installation, installation elements, or both with corresponding user accounts may take place at the remote site. The remote site may make the association using any suitable database construct that may serve to cross-reference the installation, installation elements, or both with user accounts. For example, any suitable relational database schema with suitable keys may be used.
Monitoring modules may be assigned or may generate a globally unique monitoring module identification, corresponding password, model identification code, and transaction identification for use during the registration process. The monitoring module may automatically detect any devices that are interfaced with it. The monitoring module may obtain from the device any necessary or useful data in registering the devices as well as itself. The identification information and device information may be communicated to the remote site via the communications network.
Remote sites may include any suitable computer-based server or combination of servers such as, for example, web servers and database servers. Monitoring modules at installations may exchange registration protocol messages with remote sites using any protocol suitable to the chosen communications network. In an Internet-based approach, for example, installations and remote sites may exchange registration messages using HTTP (which may be processed by the web server at the remote site) over TCP/IP (e.g., IP version 6, IP version 4, etc.) over a communications network. Servers such as a web server and a database server, may interact through the use of API functions.
The remote sites may validate received registration protocol messages. Where the registration messages contain no errors, or where errors are correctable by the remote site, the registration information contained therein may be stored in a database in the database server. A confirmation message may be communicated from the remote site to the installation that may include either an ACK code that denotes successful completion of the registration process or a NAK code that may denote an unsuccessful registration attempt.
Devices may be automatically detected by a monitoring module. Automatic detection may be implemented using any suitable approach. For example, the monitoring module may communicate a handshake signal to all of its interface ports. If the monitoring module receives a response, then a device may be detected at the port from which the response was received. In another suitable approach, a particular pin of the interface port may be used to denote whether power is being sent through the port (i.e., to power a device). If the value of the pin is high, for example, the monitoring module may deduce that a device is coupled to the monitoring module at that port. In another suitable approach, a user may proactively have the monitoring module detect a particular device. For example, the user may press a button on the device that may cause the device to send a communication to the monitoring module, thus alerting the monitoring module of the device""s presence.
In one suitable embodiment of the present invention, virtual representations of devices may be registered. Virtual representation may be made up of resources, which may be, in turn, made up of components. Components may be used to indicate the state of a corresponding physical device component. Components may be used to change the state of a corresponding physical device component. Virtual representations of devices may be accessed by users who are authorized to access the virtual representations. These users may be those users that are associated with the user account with which the corresponding devices (of the virtual representations) are also associated.
New devices or monitoring modules may be added to a registered installation and automatically detected and registered by a new object discovery process. New object discovery may be conducted by registered monitoring modules, the remote site, or by any other suitable element of the automatic registration system. The new object discovery may be conducted on a continuous basis or on a periodic basis. If desired, the new object discovery need not be automatic, but may be instantiated by the user (e.g., through simple software or hardware manipulation).